Within the field of computing, many scenarios involve a configuration of one or more servers as a document service providing access to a set of documents representing various units of data, such as objects in an object-oriented computing environments or records of a database. Such document services may involve a variety of service characteristics, such as the indexing and querying models of the service; the scripting engine(s) available through the service; and the organization of files in the file system of the device representing the documents, indices, scripts, and metadata of the document service. In some scenarios, the set of service characteristics may affect such properties of the document service as performance, availability, usability, scalability, and reliability. Moreover, various document service packages or platforms may each exhibit different service characteristics. For example, a first document service package, designed for enterprise-level deployments, may exhibit robust transactional capabilities that guarantee atomic, consistent, isolated, and durable (“ACID”) transactions; scripting engines for scripts specified in enterprise-level development languages; and storage techniques that provide high storage throughput on the types of storage devices that are often provided in enterprise-level deployments. Conversely, a second document service package, designed for small-scale projects with local deployment on commodity devices, may exhibit simplified and relaxed transactional capabilities, such as “basically” available, soft state, and “eventual” consistency (“BASE”) transactions; scripting engines for scripts specified in casual development languages; and storage techniques that are adapted for commodity storage devices. Other document service packages may be suited to other types of service environments and tasks, and may include specialized technologies for particular types of tasks (e.g., document services that are adapted for extensive text processing may include robust natural-language parsing capabilities).
In order to provide a document service with a satisfactory set of service characteristics, an administrator of the server may compare the expected service criteria of the project involving the document service with the service features of respective packages. For example, the administrator may consider the power and types of hardware allocated for the document service; the types of documents to be stored therein; and the types of tasks to be performed involving the document service. The developer may then select and deploy a document service package that satisfies the criteria of the project. Additionally, the developer may research or develop configuration options for the selected document service package, such as options specified in a configuration manifest for the document service package, or variants, add-ons, or other modifications of the established framework of the document service. In this manner, an administrator may adapt the service features of the document service to the criteria of the project.